package com.aiyi.education.entity.admin;


import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;

/**
* <p>
*
管理员
* </p>
* <p>
* Created by aj1g Generator on 2020/04/27
* </p>
* <p>

//表 ks_admin 字段列表：
* </p>
* <p>
(id , user_name , password , salt , pr_user_name , real_name , tel , descript , add_date , last_login_ip , last_login_time , last_logout_time , login_times , locked , sys_admin , user_type , doc_power , user_face , role , storeids , rnd_password , province_id , city_id , county_id , last_password_change_time , password_effective_days , power_list )
* </p>
* <p>

//对象 KsAdmin 属性列表：
* </p>
* <p>
(id , userName , password , salt , prUserName , realName , tel , descript , addDate , lastLoginIp , lastLoginTime , lastLogoutTime , loginTimes , locked , sysAdmin , userType , docPower , userFace , role , storeids , rndPassword , provinceId , cityId , countyId , lastPasswordChangeTime , passwordEffectiveDays , powerList )
* </p>
* <p>

//表 ks_admin 字段中文解释：
* </p>
* <p>
(id="管理员ID/INTEGER" , user_name="用户名/VARCHAR" , password="密码/VARCHAR" , salt="Salt盐值/VARCHAR" , pr_user_name="前台用户名/VARCHAR" , real_name="真实姓名/VARCHAR" , tel="电话/VARCHAR" , descript="备注/VARCHAR" , add_date="添加时间/TIMESTAMP" , last_login_ip="最后登录IP/VARCHAR" , last_login_time="最后登录时间/TIMESTAMP" , last_logout_time="最后登出时间/TIMESTAMP" , login_times="登录次数/INTEGER" , locked="锁定标志/TINYINT" , sys_admin="系统管理员标志/TINYINT" , user_type="管理员类型/TINYINT" , doc_power="	
是否可以管理有权限栏目非自己添加的文章/TINYINT" , user_face="用户头像/VARCHAR" , role="管理员角色：1发稿员 2初审员 3终审员/INTEGER" , storeids="允许管理的订单仓库/VARCHAR" , rnd_password="随机数/VARCHAR" , province_id="可以管理用户所在的省份ID/INTEGER" , city_id="	
可以管理用户所在的城市ID/INTEGER" , county_id="可以管理用户所在的乡镇ID/INTEGER" , last_password_change_time="/TIMESTAMP" , password_effective_days="/INTEGER" , power_list="权限值/LONGVARCHAR" )
* </p>
* <p>

//对象 KsAdmin 属性解释：
* </p>
* <p>
(id="管理员ID/Integer" , userName="用户名/String" , password="密码/String" , salt="Salt盐值/String" , prUserName="前台用户名/String" , realName="真实姓名/String" , tel="电话/String" , descript="备注/String" , addDate="添加时间/Date" , lastLoginIp="最后登录IP/String" , lastLoginTime="最后登录时间/Date" , lastLogoutTime="最后登出时间/Date" , loginTimes="登录次数/Integer" , locked="锁定标志/Byte" , sysAdmin="系统管理员标志/Byte" , userType="管理员类型/Byte" , docPower="	
是否可以管理有权限栏目非自己添加的文章/Byte" , userFace="用户头像/String" , role="管理员角色：1发稿员 2初审员 3终审员/Integer" , storeids="允许管理的订单仓库/String" , rndPassword="随机数/String" , provinceId="可以管理用户所在的省份ID/Integer" , cityId="	
可以管理用户所在的城市ID/Integer" , countyId="可以管理用户所在的乡镇ID/Integer" , lastPasswordChangeTime="/Date" , passwordEffectiveDays="/Integer" , powerList="权限值/String" )
* </p>
* <p>

//对象 KsAdmin Json格式：
* </p>
* <p>
{"id":"管理员ID/Integer" , "userName":"用户名/String" , "password":"密码/String" , "salt":"Salt盐值/String" , "prUserName":"前台用户名/String" , "realName":"真实姓名/String" , "tel":"电话/String" , "descript":"备注/String" , "addDate":"添加时间/Date" , "lastLoginIp":"最后登录IP/String" , "lastLoginTime":"最后登录时间/Date" , "lastLogoutTime":"最后登出时间/Date" , "loginTimes":"登录次数/Integer" , "locked":"锁定标志/Byte" , "sysAdmin":"系统管理员标志/Byte" , "userType":"管理员类型/Byte" , "docPower":"	
是否可以管理有权限栏目非自己添加的文章/Byte" , "userFace":"用户头像/String" , "role":"管理员角色：1发稿员 2初审员 3终审员/Integer" , "storeids":"允许管理的订单仓库/String" , "rndPassword":"随机数/String" , "provinceId":"可以管理用户所在的省份ID/Integer" , "cityId":"	
可以管理用户所在的城市ID/Integer" , "countyId":"可以管理用户所在的乡镇ID/Integer" , "lastPasswordChangeTime":"/Date" , "passwordEffectiveDays":"/Integer" , "powerList":"权限值/String" }
* </p>


*/


@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName("ks_admin")
public class KsAdmin extends Model<KsAdmin> implements Serializable {
    /**
     * 管理员ID
     */
     @TableId(value="id" ,type = IdType.INPUT)
    private Integer id;

    /**
     * 用户名
     */
     @TableField("user_name")
    private String userName;

    /**
     * 密码
     */
     @TableField("password") 
    private String password;

    /**
     * Salt盐值
     */
     @TableField("salt") 
    private String salt;

    /**
     * 前台用户名
     */
     @TableField("pr_user_name") 
    private String prUserName;

    /**
     * 真实姓名
     */
     @TableField("real_name") 
    private String realName;

    /**
     * 电话
     */
     @TableField("tel") 
    private String tel;

    /**
     * 备注
     */
     @TableField("descript") 
    private String descript;

    /**
     * 添加时间
     */
     @TableField("add_date") 
    private Date addDate;

    /**
     * 最后登录IP
     */
     @TableField("last_login_ip") 
    private String lastLoginIp;

    /**
     * 最后登录时间
     */
     @TableField("last_login_time") 
    private Date lastLoginTime;

    /**
     * 最后登出时间
     */
     @TableField("last_logout_time") 
    private Date lastLogoutTime;

    /**
     * 登录次数
     */
     @TableField("login_times") 
    private Integer loginTimes;

    /**
     * 锁定标志
     */
     @TableField("locked") 
    private Byte locked;

    /**
     * 系统管理员标志
     */
     @TableField("sys_admin") 
    private Byte sysAdmin;

    /**
     * 管理员类型
     */
     @TableField("user_type") 
    private Byte userType;

    /**
     * 	
 是否可以管理有权限栏目非自己添加的文章
     */
     @TableField("doc_power") 
    private Byte docPower;

    /**
     * 用户头像
     */
     @TableField("user_face") 
    private String userFace;

    /**
     * 管理员角色：1发稿员 2初审员 3终审员
     */
     @TableField("role") 
    private Integer role;

    /**
     * 允许管理的订单仓库
     */
     @TableField("storeids") 
    private String storeids;

    /**
     * 随机数
     */
     @TableField("rnd_password") 
    private String rndPassword;

    /**
     * 可以管理用户所在的省份ID
     */
     @TableField("province_id") 
    private Integer provinceId;

    /**
     * 	
 可以管理用户所在的城市ID
     */
     @TableField("city_id") 
    private Integer cityId;

    /**
     * 可以管理用户所在的乡镇ID
     */
     @TableField("county_id") 
    private Integer countyId;

    /**
     * 
     */
     @TableField("last_password_change_time") 
    private Date lastPasswordChangeTime;

    /**
     * 
     */
     @TableField("password_effective_days") 
    private Integer passwordEffectiveDays;

    /**
     * 权限值
     */
     @TableField("power_list") 
    private String powerList;

    @TableField(exist = false)
    private String token;

    @TableField(exist = false)
    private String loginType;


    private static final long serialVersionUID = 1L;

    @Override
    public Serializable pkVal() {
         return this.id;
    }
}